package com.enlorenz.core.engine;

import java.util.List;

import com.enlorenz.common.util.DataDetUtils;

/**
 * 引擎工具
 * 用于操作各种引擎实现类
 * @author lcb
 *
 */
public class EngineUtils {
	
	/**
	 * 关闭引擎
	 * @param engine 引擎
	 */
	public static void shutdown(IEngine engine){
		try {
			engine.shutdown();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	/**
	 * 开启引擎
	 * @param engine 引擎
	 */
	public static void start(IEngine engine){
		try {
			engine.start();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	/**
	 * 开启引擎列表
	 * @param engineList 引擎列表
	 */
	public static void startEngineList(List engineList){
		if(DataDetUtils.isCollectionEmpty(engineList)){
			return;
		}
		
		for(Object obj:engineList){
			IEngine engine=(IEngine)obj;
			start(engine);
		}
	}
	
	/**
	 * 关闭引擎列表
	 * @param engineList 引擎列表
	 */
	public static void stopEngineList(List engineList){
		if(DataDetUtils.isCollectionEmpty(engineList)){
			return;
		}
		
		for(Object obj:engineList){
			IEngine engine=(IEngine)obj;
			shutdown(engine);
		}
	}
	
}
